专利摘要:
computer memory device, computerized method for distributing workload, and computer system for executing a method that monitors properties of one or more public clouds. The present invention relates to computer-readable methods, systems and media for selecting and managing a public cloud computing network to host a customer's account information (205). initially, the client (205) issues a request (530, 620) to a coordination mechanism (230), which understands the rule language (520) of various public clouds (250, 251, 252, 253), to update the account information residing in a target cloud. the target cloud was previously selected from the various public clouds (250, 251, 252, 253) as a function of desirable criteria (525) specified by the customer (205) considering properties (eg price, security and reliability) dynamically abstracted from the public clouds (250, 251, 252, 253). when addressing the request (530, 620), the coordination mechanism (230) extracts command(s) from the request (530, 620) and automatically translates the command(s) consistent with the rule language ( 520 (520) of the target cloud. upon delivery to the target cloud, the translated command(s) affect(s) the reading or writing of the account information. in this way, the client (205) is exempted from converting instructions to a format that is expected by the target cloud.
公开号:BR112014005618B1
申请号:R112014005618-8
申请日:2012-09-10
公开日:2021-08-10
发明作者:Marwan Batrouni;Shady N. Ashkar
申请人:Microsoft Technology Licensing, Llc;
IPC主号:
专利说明:

BACKGROUND
[001] In general, cloud service providers offer public cloud computing network(s) to help people or companies manage account information, such as running applications and/or storing data. For example, a public cloud computing network ("public network") can be employed by administrators of a private company network to host their account information, where administrators are typically tasked with selecting the public network. Currently administrators are forced to blindly select the public network to keep their account information, the properties of cloud services are not easily discovered or are completely inaccessible. In this way, administrators are generally unable to identify whether the selected public network offers cloud services that better align with their preferences.
[002] Once the public network is selected, administrators must establish a means of interacting with the selected public network. Often, establishing the way to interact is a labor intensive process where administrators try to learn an interface language for the selected public network. Once established, the means of interacting is employed to manually convert communications for the selected public network to the interface language on a specific basis. Thus, administrators are encouraged to expand their private enterprise network in order to avoid the complications inherent with overloading for a public network: this practice is inefficient and uneconomical to address a dynamically fluctuating need for computing resources.
[003] As should be discussed in detail in this document, embodiments of the present invention introduce technology to automatically select public cloud(s) that meet a set of criteria specified by administrators and to facilitate simplistic interaction with the Selected public cloud(s). SUMMARY
[004] This Summary is provided to introduce concepts in a simplified form, which are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[005] Modalities of the present invention relate to computer readable systems, methods and media for abstracting information that generally describes the interaction between a private cloud computing network ("private cloud") and at least one network of public cloud computing ("public cloud"). This "abstraction" generally represents a collection of exploited data that is considered when making determinations affecting account information associated with the private cloud. Typically, a coordination mechanism is provided to perform the abstraction without requiring private cloud administrators to perform such duties as tracking or analyzing low-level details of day-to-day public cloud operations. That is, the coordination mechanism serves to relieve administrators of the work of understanding public cloud properties and intelligently selecting an optimal public cloud based on those properties.
[006] Furthermore, the coordination mechanism is designed to automatically update the selected public cloud with another public cloud. In one instance, update is called when notifying changes within abstractions, which reflect underlying changes to the properties of private clouds. In another instance, update is called upon admins suggested changes to criteria, which specify the attributes of cloud services that are preferable to admins. As such, intelligent coordination engine selections can be based, in part, on private cloud properties, administration-generated criteria, or a combination of these. This is the opposite of forcing admins individually and frequently to examine public cloud providers, on a specific basis, to see the properties displayed by those private clouds and to manually act on changes to those properties.
[007] Other embodiments of the present invention introduce an application programming interface (API), running in the background, which monitors and facilitates ongoing transactions between the private cloud and selected public clouds. Typically, the API is able to access a rules language (RL) that is enforced by selected public clouds and apply the rules language when translating communications between clouds. Thus, the API makes the process of sending and converting commands to selected public cloud account information transparent to administrators.
[008] By way of example, administrators can be custodians of a financial institution's banking information. In this case, administrators can specify that the most important criterion for selecting a private cloud is security. By suggesting this criterion for the coordination mechanism, a public cloud that enforces a high level of protection against hacker intrusion can be selected to host the banking information. Typically, the coordination mechanism would analyze abstractions from a set of public clouds when making the selection in order to compare the properties of the respective public clouds with the suggested criteria.
[009] In another example, administrators may be curators of an online shopping forum's inventory information. In this case, administrators can specify that the most important criterion for selecting a private cloud is cost. By suggesting this criterion for the coordination mechanism, a public cloud that is expected to have a relatively minimal fee for use can be selected to host the inventory information. Once the public cloud is selected, the coordination engine can enable the API to automatically start zipping commands from the online shopping forum to a format that matches a selected public cloud rules language. Additionally, the coordination mechanism is configured to change the use of the public cloud selected in this second example to the public cloud selected in the first example (immediately above) if the criteria suggested by the online shopping forum indicates that security is now above cost .
[0010] Although two different types of criteria (cost and security) that may be specified by administrators have been described, it should be understood and evaluated that other types of appropriate criteria operate to communicate administrators' preferences and to aid in selection of public clouds may be used, and which embodiments of the present invention are not limited to those criteria described herein. For example, one or more of the following criteria are indicated as being used to guide selection of a public cloud: availability of computing resources with reduced downtime; scalability (for example, private clouds may not offer the same level of scalability as public clouds); georedundancy offering cloud services in physical proximity to those using the account information hosted on it; and unique features only available in some public clouds. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Modalities of the present invention will be described in detail below with reference to the figures of the attached drawings, in which:
[0012] FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention;
[0013] FIG. 2 is a block diagram illustrating a distributed computing environment, suitable for use in implementing embodiments of the present invention, which is configured to select a public cloud and to manage communications with the selected public cloud;
[0014] FIG. 3 is an exemplary schematic diagram of a manifest listing abstracted properties of public and/or private clouds in accordance with an embodiment of the present invention;
[0015] FIG. 4 is an exemplary schematic diagram of a manifest listing terms suggested by an administrator to guide selection of public and/or private cloud(s) in accordance with an embodiment of the present invention;
[0016] FIG. 5 is a block diagram illustrating a distributed computing environment being employed to promote selection of public and/or private cloud(s) in accordance with an embodiment of the present invention;
[0017] FIG. 6 is a block diagram illustrating a distributed computing environment being employed to facilitate interaction between the public and/or private cloud(s) in accordance with an embodiment of the present invention;
[0018] FIG. 7 is a flowchart showing a complete method for assigning workload to one or more candidate computer networks based on criteria provided by a client in accordance with an embodiment of the present invention; and
[0019] FIG. 8 is a flowchart showing a complete method for distributing workload to one or more public computer networks external to a private enterprise network in accordance with an embodiment of the present invention. DETAILED DESCRIPTION
The subject matter of embodiments of the present invention is specifically described in this document to satisfy statutory requirements. However, the description itself is not intended to limit the scope of this patent. Instead, the inventors consider that the subject matter claimed may also be incorporated in other ways, to include different steps or combinations of steps similar to the steps described in this document, in combination with other current or future technologies. It should also be noted that the disclosure of this patent document contains material that is subject to copyright protection, such as the phrase "Hybrid Cloud Coordinator". The copyright owner does not object to the facsimile reproduction of any of the patent document or patent disclosure as appearing in the patent files or recordings of the Patent and Trademark Office, but otherwise reserves all copyrights whatever. The following notice shall apply to portions of this document: Copyright 2011.
[0021] In general, embodiments of the present invention provide technology that performs provisioning and management services across multiple cloud computing networks, both private and public. For example, this technology can work to target various available cloud computing networks based on user-suggested terms that specify a target state (eg, high security, high performance, low cost, high redundancy, or robust recovery). As more fully described below, a coordination mechanism, or "Hybrid Cloud Coordinator", may be employed to optimize public cloud computing network ("public cloud") selection with respect to user-initiated terms while concurrently carrying out load balancing and data management tasks upon account information posted about the selected public cloud.
[0022] As used in this document, the phrase "coordination mechanism" is not intended to be limited to any particular piece of software residing in any single location, but generally refers to an intelligent software component capable of manage and balance the use of cloud offerings (public and private) in a non-disruptive mode. The coordination mechanism can be offered as an autonomous service of an independent entity. Or the coordination mechanism might be offered as part of a solution from a cloud service provider. In an exemplary modality, the coordination mechanism performs at least three complementary functions: (a) provision accounts through clouds, (b) track provisioning results/history for future analysis and optimization, and (c) manage decisions with based on terms provided by a customer considering abstracted cloud properties.
[0023] By way of example, an organization may be running its own private cloud computing network ("private cloud") while at the same time relying on services in external clouds (eg, public clouds or other clouds private). In this example, the coordination mechanism would be effective for distributing, optimizing, homogenizing, and using load balancing across multiple clouds. That is, the coordination mechanism can act as an intermediary that translates and manages the flow of data between the private cloud and the public cloud(s).
[0024] Typically, when operating as an intermediary, the coordination mechanism operates in a mode that is transparent to private cloud administrators. Alternatively, by operating as a resource to select a service, the coordination mechanism makes visible a comparison of those services offered by various providers. As such, once an administrator selects service(s) with the coordination mechanism open, the coordination mechanism is able to automatically use the selections to distribute, alter, and retrieve data without administrator oversight of which cloud private must be considered as a target. In this way, requests to use resources in the private cloud(s) can be provided in an abstract way — absent the specificity of a certain external storage location. Thus, the coordination mechanism helps to optimize the capabilities of the public cloud(s) whenever it satisfies the customer's objectives, without disrupting the customer's normal operations.
[0025] By way of example, the coordination mechanism can be configured by an administrator to provision services containing confidential information in the customer's private cloud while storing less sensitive information in an external entity's public cloud. Thus, the coordination mechanism can interpret the sensitivity of data assigned for storage and send the data to the appropriate location based on the sensitivity transparent to the client. In this way, the coordination mechanism provides access to services across various public and private clouds that have differing characteristics (eg, attack-resilient and expensive versus stable and cheap) and can intelligently reach and distribute load. work for the appropriate cloud(s) based on these characteristics.
[0026] Accordingly, in one aspect, embodiments of the present invention pertain to one or more computer readable media that have computer executable instructions incorporated therein which, when executed, perform a method for assigning workload to one or more candidate computer networks based on criteria provided by a customer. Initially, the method involves receiving a request for computing resources from the client and receiving the criteria associated with the request. Typically, the criteria specify preferred client properties of the candidate computer network(s). A coordination mechanism is employed to perform a criteria analysis against metrics. In an exemplary modality, the analyze processes include performing the following steps: accessing metrics in a metrics database, where the metrics are extracted from the candidate computer network(s); and compare the criteria with the metrics, respectively. Based on the comparison, in part, at least one computer network of the candidate computer networks is considered as a target. Generally speaking, the targeted computer network displays metrics that meet the criteria. Sometime later, an interaction is initiated with the target computer network.
[0027] In another aspect, embodiments of the present invention relate to a computerized method for distributing workload to one or more public computing networks external to a private enterprise network. The method includes the steps of receiving a request issued by a user of the private company network to update account information hosted on the public computer network(s) and identify a target network of the network(s). public computer(s) who are responsible for hosting the account information. In instances, one or more commands can be extracted from the request. By way of example, the command(s) represents, in part, instructions for implementing the update. Commands can be translated into a format consistent with a rules language observed by the target network when interacting with an external source. Additionally, the translated commands can be distributed to computing resources, associated with the target network, which are designed to implement the update to the account information.
[0028] Also in another aspect, embodiments of the present invention concern a computer system for performing a method that monitors properties of one or more public clouds and selects an appropriate public cloud to host account information based on those properties . Generally, the computer system includes a processing unit coupled to a computer storage media, where the computer storage media stores a plurality of computer software components executable by the processing unit. Initially, computer software components include a rules data store, a metrics data store, agent(s), a coordination mechanism, and a feedback mechanism. The rule data store is designed to persist terms provided by an administrator associated with a private cloud. As more fully described below, the terms expose criteria that the administrator considers valuable for an external cloud computing network to incorporate (eg, cost, security, data persistence, and more). The metrics data store operates to accept and maintain properties that describe qualities of public clouds designated as candidates for hosting account information. These clouds can be automatically assigned by the coordination mechanism or manually selected by the administrator.
[0029] The agent(s) is(are) programmed to dynamically collect properties when searching the candidate public cloud(s) and to report properties collected for storing metrics data. An example of the agent includes a pricing agent that is programmed to retrieve expected fees for using the candidate public cloud(s). The coordination mechanism is configured, in modalities, to decide which of the candidate public clouds to select as a target cloud to host the account information. In one instance, the decision process includes a variety of steps including, but not limited to, the following: accessing the rules data store to review the terms; access the metrics data store to examine properties; selecting the target cloud as a function of an analysis of properties considering terms; and sending a request to the target cloud to allocate computing resources to host at least a portion of the account information. The feedback mechanism is tasked with evaluating the coordination mechanism's decision for access whether the target cloud — during operation of running user applications or storing user data — satisfies the incident terms to be selected.
[0030] General aspects of cloud computing networks will now be described in the following several paragraphs. Typically, as used in this document, the phrase "private cloud" is intended to broadly represent an administrator-operated private cloud computing network, while the phrase "target naked" represents at least one computing network. cloud service operated by a cloud service provider. Typically, a cloud computing network acts to store data or run service applications in a distributed mode. For example, the cloud computing network can include nodes (eg, computing devices, processing units, or blades on a server shelf) that are allocated to run one or more parts of user service applications. When more than one separate service application is being supported by the nodes, the nodes can be partitioned into virtual machines that concurrently run the separate service applications, respectively, in individualized computing environments that support the resources and/or specific operating system for each service application.
[0031] Additionally, each service application can be divided into functional parts in such a way that each functional part is able to run in a separate virtual machine. Generally speaking, "jobs" provide a model description of the functional part of the service application. Positions are described by indicating the computer code implementing the position, the conditions within the hosting environment that are required by the position, configuration arrangements to be applied to the position, and the set of position endpoints for communication with other positions, elements , etc. Within an instance, job setting arrangements can include collective arrangements, which are shared by all job instances, or individual arrangements that are particular to each job instance. In an exemplary modality, each of the roles represents a particular class of service application component. Typically, the service model delineates how many instances of each of the one or more roles to place within the data center, where each of the instances is a reproduction of the particular class of component, or role. In other words, each role represents a collection of instances of each component class, where the service application can have any number of component classes to perform its functions.
[0032] In modalities, a service model is used to determine which attributes, or a set of attributes, should be transported from the instances of the positions of the service application. As used herein, the phrase "model of service" is not intended to be limiting and generally refers to any communication that includes information relating to establishing and managing instances of a service application within a data center. Generally speaking, the service model is an interface design that provides instructions for managing component programs of the service application. The service model acts to guide a structure controller by coordinating activities among component programs implemented upon implementation to distributed locations across the distributed operating environment. In one instance, the service template includes a description of which service application roles should be established, or how instances of each of the roles should be installed and activated within the data center. That is, the service model serves as an articulation of what jobs should be running for the service application and conditions to where instances of jobs should be installed via a cloud computing network.
[0033] Although several different types of cloud configurations have been described, it should be understood and appreciated by those of ordinary skill in the art that other suitable cloud computing network structures may be used, and which modalities of the present invention are not limited to those service applications distributed through virtual machines described in this document. Having briefly described an overview of embodiments of the present invention, an exemplary operating environment suitable for implementing embodiments of the present invention is described below. Operating Environment
[0034] Referring initially to FIG. 1 in particular, an exemplary operating environment for implementing embodiments of the present invention is shown and generally designated as computing device 100. Computing device 100 is only one example of a suitable computing environment and is not intended to suggest any limitation such as to the scope of use or functionality of the invention. Computing device 100 is not to be construed as having any dependencies or requirements relating to any one or combination of components illustrated.
[0035] The invention can be described in the general context of computer code or machine-usable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or another handheld device. In general, program modules including routines, programs, objects, components, data structures, etc. refer to code that performs particular tasks or implements particular abstract data types. The invention can be practiced in a variety of system configurations, including handheld devices, consumer electronics, general purpose computers, more special computing devices, etc. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
[0036] With reference to FIG. 1, computing device 100 includes a bus 110 that directly or indirectly couples the following devices: memory 112, one or more processors 114, one or more display components 116, input/output ports (I /O) 118, input/output components 120 and an illustrative power supply 122. Bus 110 represents what may be one or more buses (such as an address bus, data bus, or combination thereof). Although the various blocks in FIG. 1 are shown with lines for clarity, actually delineating various components is not that clear, and metaphorically the lines would be more exactly gray and fuzzy. For example, we can consider a presentation component such as a display device to be an input/output component. Also, processors have memory. The inventors recognize that this is the nature of the technique, and reiterate that the diagram in FIG. 1 is only illustrative of an exemplary computing device that may be used in connection with one or more embodiments of the present invention. No distinction is made between categories such as "workstation", "server", "laptop", "handheld", etc., as they are all considered within the scope of the FIG. 1 and the reference to "computing device".
[0037] Computing device 100 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 100 and includes both volatile and non-volatile media and removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and non-volatile and removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, fast memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other media that can be used to store the desired information and that can be accessed by computing device 100. Communication media typically incorporate computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in a manner such as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included in the scope of computer readable media.
[0038] Memory 112 includes computer storage media in the form of volatile and/or non-volatile memory. Memory can be removable, non-removable or a combination thereof. Exemplary hardware devices include solid state memory, hard drives, optical disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or input/output components 120. Display component(s) 116 display(s) indications of data to a user or to another device. Exemplary presentation components include a display device, speaker, print component, vibration component, etc.
The input/output ports 118 allow the computing device 100 to be logically coupled to other devices including the input/output components 120, some of which may be built into it. Illustrative components include a microphone, joystick, computer game controller, satellite dish, scanner, printer, wireless device, etc. System for Implementation
[0040] Technology is introduced by modalities of the present invention for provisioning and management services (for example, applications and data) through multiple clouds, both private and public. This technology will also help determine the ideal target cloud from the various clouds available based on criteria (for example, configuration guidelines and an objective state) provided by a customer, such as security, performance, cost, redundancy, and recovery. An exemplary system for implementing this technology will now be discussed with reference to FIG. 2. Generally speaking, this technology employs a coordination mechanism 230 to connect through the interface between the client 205, a private cloud 210, and one or more public clouds 250. In one instance, connect through the envol interface -ve abstract information (eg, metrics) describing services offered across multiple clouds, where some clouds can be configured with redundancies (providing improved resiliency and stability), while other clouds are cheaper (offering fewer resources ). Once the information is abstracted and analyzed, coordination can disclose the information to the client 205 to make a decision as to which clouds to target. Or the coordination can compare desirable resource input by the client 205 with the abstracted information to automatically target the best-fit cloud(s).
[0041] In another instance, connecting through the interface involves intelligently distributing workload (for example, based on abstracted information) to the cloud(s) considered as target(s) without the need for the client 205 to manually convert data to make it readable for the cloud(s) considered to be the target(s). That is, the coordination mechanism 230 promotes simplistic interaction with the services in the cloud(s) considered as the target(s). By way of example, this interaction is performed by the coordination mechanism 230 translating the communications from the client 205 or from the private cloud 210 to the respective languages employed by the cloud(s) considered as the target(s).
[0042] Returning now to FIG. 2, a block diagram is illustrated showing a distributed computing environment 200 suitable for use in implementing embodiments of the present invention. The distributed computing environment 200 includes the client 205 associated with the private cloud 210, an abstraction layer 220 within the private cloud 210, the coordination mechanism 230 for interfacing between various components, a feedback mechanism 235 , a subject cloud 240 to host various components, a public cloud group 250, a pricing agent 260, a security agent 265, a rules database (DB) 270, a performance agent 275, and a metrics database 280. It will be understood and appreciated by those of ordinary skill in the art that the clouds 210, 240 and 250 shown in FIG. 2 are merely an example of computing networks suitable to accommodate workload (eg data and/or service applications) and are not intended to suggest any such limitation as to the scope of use or functionality of embodiments of the present invention . Nor should clouds 210, 240, and 250 be interpreted as having any dependency or requirement related to any single resource, combination of resources (eg, DBs 270 and 280), or set of APIs (eg, the coordination mechanism 230) to access the resources. Additionally, although the various blocks of FIG. 2 are shown with lines for clarity, actually outlining various components is not that clear, and metaphorically the lines would more accurately be gray and fuzzy.
[0043] Subject cloud 240 represents any cloud computing network (for example, an extension of the private cloud 210 or one of the public clouds 250 being targeted) and can include various features that are communicatively coupled to the coordination mechanism 230. Some of the features involve feedback mechanism 235, pricing agent 260, security agent 265, and performance agent 275, which represent software components, programs, or applications that are interconnected via the subject cloud 240 Subject cloud 240 hosts these resources in tangible computing elements such as nodes or virtual machines within nodes. In this way, resources can be distributed distributed across various physical elements of computation, such as as opposed to being individual self-contained items. Furthermore, the subject cloud 240 facilitates communication across channels by connecting resources to services (eg, abstract layer 220) in other cloud computing networks, such as private cloud 210 and public clouds 250. For example, communication channels may include, without limitation, one or more local area networks (LANs) and/or extended area networks (WANs). Such network environments are common in offices, corporate extended computer networks, intranets, and the Internet. Therefore, the network is not further described in this document.
[0044] An exemplary configuration of DBs 270 and 280 will now be discussed. Initially, DBs 270 and 280 represent data stores residing inside or outside the subject cloud 240, and are programmed to host different types of data. For example, the rules database 270 can be programmed to persist with terms provided by an administrator (eg, client 205) associated with private cloud 210, where the "terms" represent criteria that the administrator considers valuable to a Embed external cloud computing network. Thus, in operation, the terms help the administrator to identify resources from one or more of the public clouds 250 that would best support the application or data being hosted. Additionally, the terms help the coordination mechanism 230, when accessing the rules database 270, to select the most appropriate public and/or private cloud(s), to designate as the cloud(s) considered as target(s) to receive workload. In another embodiment, the metrics database 280 is programmed to accept and maintain properties (e.g., abstracted information) that describe qualities of the public clouds 250 designated as candidates for hosting the account information.
[0045] DBs 270 and 280 are generally configured to store information associated with an analysis procedure for comparing cloud abstracted metrics with customer-supplied criteria, as discussed below with reference to FIG. 5. In various embodiments, such information may include, without limitation, terms, criteria, abstracted information, metrics, and other properties of clouds 210, 240, and 250. Furthermore, DBs 270 and 280 may be configured to be searchable for access of stored information. For example, the rules database 270 may be searchable for terms, criteria, and other information shown in FIG. 4, while the metrics database 280 may be searchable for metrics, cloud properties, and other information shown in FIG. 3. It will be understood and appreciated by those of ordinary skill in the art that the information stored in DBs 270 and 280 may be configurable and may include any information relevant to the functionality performed by the coordination mechanism 230. The content and volume of such information is not intended to limit the scope of embodiments of the present invention in any way. Additionally, although illustrated as single independent components, DBs 270 and 280 can in fact be a plurality of data stores, for example, a cluster of databases, parts of which may reside in subject cloud 240, on the other clouds 210 and 250, on another external computing device (not shown) and/or any combination thereof.
[0046] An exemplary information set stored in metrics database 280 will now be discussed with reference to FIG. 3. Generally speaking, FIG. 3 shows an exemplary schematic diagram of a manifest 300 that lists abstracted properties of public and/or private clouds in accordance with an embodiment of the present invention. These properties may be stored as entries in manifest 300 of metrics database 280. As illustrated, the first entry in manifest 300 describes a storage-like resource in a cloud computing network operated by a service (e.g. , Amazon) which is intended to store data. The availability score (99.9%) for this storage service represents a metric used by the coordination mechanism 230 in FIG. 2 to make decisions considering terms in the rules database 270. In an instance, the availability score represents the percentage of time the storage service is assumed to be available without disconnecting or going offline. The performance score (123,456) is used to select an appropriate service when compute capacity (eg, GB/sec or CPU) is specified as a desirable criterion. The pricing scheme ($0.02 per GB) is generally the fee charged by the storage service to allocate computing power to hold customer data remotely.
[0047] Additionally, the second entry in the manifest describes a hosting-type resource on a bare-bones computing network that comes operated by a service (eg Windows Azure) that is targeted to host an application. Typically, the application is distributed through virtual machines running on nodes within the hosting service. Compared to the storage service, the hosting service is rated to have a higher availability score, which corresponds to greater accessibility by the customer. Also, the second entry hosting service has a higher performance score than the storage service, which corresponds to faster processing. Lastly, the pricing scheme ($0.15 per hour) of the hosting service is formatted differently from that of the storage service scheme. Metrics database 280 is configured to convert separate pricing schemes into a normalized scheme to allow comparison between the storage service and the hosting service.
[0048] It should be noted that other cloud service properties can be abstracted and stored in manifest 300. For example, characteristics of the virtual machines used by the hosting service, which typically are based on applications and operating system properties, can be described in the manifest in order to ensure that the hosting service will appropriately accommodate functionality of the customer's application. The policy provided by the administrator is used to select clouds when matching the policy with entries.
[0049] Returning now to FIG. 4, an exemplary schematic diagram of a manifest 400 that lists terms or criteria suggested by an administrator to guide selection of public and/or private cloud(s) is shown according to an embodiment of the present. invention. Typically, manifest 400 is maintained by the rules database 270 of FIG. 2. As illustrated, manifest 400 includes two entries: a first entry describing criteria related to data storage; and a second entry describing criteria related to hosting an application on a remote virtual machine. In particular, the customer specified a first importance criterion in the first entry, which governs selection of a storage service according to a price (eg, price <= $0.10 per GB), whereas the customer specified an if -second importance criterion in the second entry, which governs selection of a virtual machine to host an application according to lack of downtime (eg availability > 99.99%). Thus, the client is enabled to select variable criteria of importance in relation to different types of resources available in public clouds 250.
[0050] In operation, for example, coordination mechanism 230 may perform a criteria analysis in manifest 400 of FIG. 4 with respect to the metrics in manifest 300 of FIG. 3. As a result of the analysis, the coordination mechanism can select an appropriate nu ve to consider as a target to use when offsite resource use is called for. As illustrated, when additional offsite storage for private cloud data is sought by the coordination mechanism, the customer has already specified that the pricing criteria must be below a threshold of $0.10 per GB. The metrics indicate that the naked computing network Amazon charges a fee greater than $0.20 per GB and, therefore, would not be considered as a candidate to support data storage. However, when additional external processing power for virtual machines is sought by the coordination mechanism, the customer has already specified that the availability criterion must be greater than 99.99%. The metrics indicate that the Windows Azure cloud computing network offers 99.999% availability and as such would likely be considered a candidate for hosting an application.
[0051] Although several different manifest configurations, and the types of entries in them, have been described, it should be understood and evaluated that other types of formats suitable for maintaining a mapping between cloud identities and their respective metrics and criteria can be used, and which embodiments of the present invention are not limited to the exemplary design of manifests 300 and 400 described herein. For example, metrics and criteria can be stored in a common index within a single data store.
[0052] In modalities, a rules language is employed by the coordination mechanism 230 that defines how the coordination mechanism will weight the criteria that match the metrics, where the weighting processing (for example, setting importance that varies for individual criteria) governs the decision of which public cloud (e.g., I cloud 251, II cloud 252 and/or III cloud 253) to target for provisioning resources to private cloud 210 of FIG. 2. In one instance, the rules language can also help define the rules used by the coordination engine when performing criteria analysis considering metrics. For example, rules can govern which criteria are absolute (must be satisfied by a cloud metric to consider it a candidate for hosting) and which criteria are optional (desirable attribute for a cloud but not pre-emptive of consideration).
[0053] In some cases, rules are established automatically by coordination mechanism 230. For example, coordination mechanism 230 may establish rules that remove from consideration any clouds that are located in a country currently suffering from political conflict. These automatically established rules typically are dominant in nature and override rules introduced by the customer or other users. For example, if a client application is written to act in a network environment and the client manually establishes rules that emphasize a high level of security (eg, enforce restricted access) while the coordination mechanism 230 is automatically establishes rules that allow monitoring of client application status by an external entity to ensure compliance with cloud protocol, conflict is resolved in favor of coordination mechanism rules.
[0054] In other cases, the rules can be established manually by the client. For example, the client can establish rules that identify a metric as absolute, while other specified metrics are optional. In one example, if the customer represents a financial institution, the absolute rule that increased security of confidential account information can be set manually, thus dictating that the account information is only viewable by customers who are authorized and verified to access the account information. In another example, if the customer represents an equipment manufacturer, the absolute rules may state that data access reliability can be established manually, thus dictating that the data must be consistently and readily available to multiple users across multiple moments. Thus, rules allow the client to weight and/or rank criteria in a hierarchy (eg, emphasis on safety or reliability), while also allowing the client to designate rules as absolute or simply optional. Consequently, the rules, once established, govern how data and/or an application should be managed with regard to the criteria.
[0055] Although several different rule settings and the way in which they influence criteria have been described, it should be understood and appreciated that other types of schemas prescribed by user or system suitable for assigning importance to criteria may be used, and that embodiments of the present invention are not limited to the exemplary rules for classifying, weighing, establishing as absolute and establishing as optional. For example, one set of rules can be fixed for a customer application, which affect criteria for selecting virtual machines, while another set of rules can be fixed for customer data, which affect criteria for selecting storage locations within clouds.
[0056] Returning to FIG. 2, abstraction layer 220 (eg, software development kit) residing in private cloud 210 will now be discussed. As illustrated, abstraction layer 220 includes several interfaces that are generally provided to serve as an intermediary through which client 205 can interact with coordination mechanism 230 residing in subject cloud 240, which can whether or not it is associated with the private cloud 210. These various interfaces include, but are not limited to the following: a rules interface 221, a resource management interface 222, and a policy interface 223.
[0057] In one instance, the rules interface 221 and the criteria interface 223 allow clients to programmatically define rules and criteria, respectively, for the coordination mechanism 230 to observe when selecting candidate clouds which, in turn, results in provisioning resources in selected clouds that match the terms dictated/desirable by the customer 205. The operation of interfaces 221 and 223 will be discussed more fully below with reference to the method for promoting selection of a cloud represented in FIG. 5. In another instance, the resource management interface 222 operates as a mechanism to allow the client 205 to transparently interact with a target cloud, selected from the public clouds 250, without performing detailed command conversions or learning external data center protocols. In this way, the resource management interface 222 within the abstraction layer 220 acts as a protocol library employed by public clouds 250 and, furthermore, acts as a translator that uses the library to automatically translate client commands for an appropriate language and format. Thus, the resource management interface 222 is able to accept abstract instructions, such as increase/decrease external file storage capacity, without any particular knowledge of the actual cloud implementation.
[0058] As briefly mentioned above, agents 260, 265, and 275 are tasked with periodically contributing information that is provided to the metrics database 280 in order to update the metrics (e.g., manifest 300 entries of Fig. 3) that are accessible to coordination mechanism 230. In one instance, metrics are pulled from public clouds 251-253 individually. In another instance, metrics can be extracted from other sources such as subject cloud 240, private cloud 210 and more in order to consider these other sources as candidates for hosting the data and/or application(s) of the client. The precise sources that are polled by agents 260, 265, and 275 can be determined manually by customer 205 or automatically established by the system. In a mode of automatically establishing sources to be polled, a database schema can be generated to trigger the location and identity of the information being collected from the sources.
[0059] Generally speaking, agents are assigned separate roles that include mutually exclusive information to collect and suggest to the metrics database 280. For example, pricing agent 260 can be assigned with the function of dynamically collecting pricing information from different sources. In a particular example, the pricing agent 260 may be pointed toward various online locations (eg, URL addresses) and may be programmatically configured to retrieve the targeting nude pricing information when navigating to the online locations. As illustrated, pricing agent 260 is pointed to three online locations that correspond with public cloud I 251, public cloud II 252 and public cloud III 253, respectively. Pricing agent 260 can be instantiated with parameters that govern how to connect through the interface to public clouds 251-253. Additionally, pricing agent 260 can be instantiated with parameters that govern when to contact public clouds 251-253. For example, pricing agent 260 can be programmed to collect specific information from public clouds 251-253, designated as candidate clouds, at a predefined interval. In embodiments, coordination mechanism 230 is responsible for instantiating and managing pricing agent parameters 260, while client 205 is often able to change pricing agent configuration arrangements 260 in order to conform to one or more rules from the rules database 270, for example.
[0060] Once collected, the pricing information collected by pricing agent 260 is reported to the metrics database 280. This pricing information is used to update the database recordings of metrics 280 in order to provide the coordination mechanism 230 with updated data to consider when making a decision. Outdated pricing information can be purged from the 280 metrics database by being replaced with updated data. Additionally, the metrics database 280 can be configured to categorize and filter pricing information for easier use by coordination mechanism 230.
[0061] Although pricing agent 260, which is programmed to retrieve pricing information (eg, expected rates for use) from public clouds 251-253, has been described in detail, embodiments of the present invention consider - ram a variety of other agents that interact with public clouds 250 (eg, chatting directly or via an API) and that collect a variety of other information that might be supposed to be useful for evaluating a cloud. Similar to pricing agent 260, these other agents can be programmed to dynamically collect information (for example, properties, attributes, characteristics, and more) from public clouds 251-253 by polling public clouds 251-253 and reporting the information collected for metrics database 280. In one instance, agents can include a security officer 265 that is programmed to measure a security level enforced by public clouds 251-253, respectively, and/or an agent of performance 275 which is scheduled to measure a level of availability support by public clouds 251-253, respectively.
[0062] Although several specific data collection rates (for example, 10 scans per minute) have been delineated for agents 260, 265 and 275, it should be understood and understood that modalities of the present invention consider any type of time base to collect information from the clouds polled by agents 260, 265, and 275. For example, certain interactions of client 205 with abstraction layer 220 can trigger coordination mechanism 230 to request agents 260, 265, and 275 to update the database of metric data 280.
[0063] Additionally, although represented in subject cloud 240, which is the same cloud that hosts coordination mechanism 230, agents 260, 265 and 275 can be located in any private or public cloud. For example, if agents 260, 265, and 275 also start to consume a lot of resources, they might be moved to one or more of the 250 public clouds.
[0064] Feedback mechanism 235 is generally configured to evaluate the decisions of coordination mechanism 230 in order to verify that the target cloud satisfies the criteria specified by the incident customer 205 to be selected for use. In modalities, the evaluation performed by the feedback mechanism 235 includes several steps, such as the following: review past decisions of the coordination mechanism 230; self-assess the impact of these decisions in order to improve performance; and applying a self-assessment result to the rules database 270. In this way, the feedback engine 235 automatically sets or modifies rules in order to filter out spurious criteria from those criteria that are as reliable as expected. Thus, the feedback mechanism 235 can adapt the rules to reweight criteria and to disregard some information extracted from public clouds 251-253 as being persistently inaccurate in order to actually achieve the desired results. The Coordination Mechanism
[0065] Coordination mechanism 230 generally represents an intelligent software component capable of managing and balancing the use of both cloud offerings (public and private) in a non-disruptive manner. In embodiments, the coordination mechanism 230 may be offered as part of the private cloud solution (installed as a resource within a device in private cloud 210) or, as illustrated in FIG. 2, located remotely from client 205 within a subject cloud 240. Additionally, coordination mechanism 230 can be split or reproduced in two or more data centers. In operation, the coordination mechanism 230 uninterruptedly performs two complementary functions: making decisions based on the rules provided by the client 205 considering the metrics; and provisioning accounts through clouds 210, 240 and/or 250 while keeping track of results/history for future analysis and optimization (eg using feedback mechanism 235).
[0066] With reference to the first function indicated above, coordination mechanism 230 can be designed to decide which of the public clouds 250 are considered to be candidate clouds and to select one as the target cloud to host the customer account information of one or more of the candidate clouds. In modalities, the process of deciding which of the public clouds 250 should be considered as candidate clouds includes accessing the rules database 270 to examine the criteria considering the rules and accessing the metrics database 280 to examine the metrics ( eg individual properties for public clouds 250). Typically, scanning includes accessing DBs 270 and 280, which have information organized according to a database schema to promote useful discovery thereof, and retrieving the appropriate information from DBs 270 and 280. selecting the target cloud from public clouds 250 involves selecting the target cloud as a function of a comparison between the information retrieved against the weighted/modified criteria via the rules, where the target cloud displays metrics that substantially satisfy the criteria . When selecting the target cloud, coordination mechanism 230 can be further configured to send a request to the target cloud to initiate interaction with the target cloud and to allocate computing resources to host at least a portion of the account. client.
[0067] With reference to the second function indicated above, the coordination mechanism 230 is able to manage the customer activities in the cloud(s) considered as target(s). In one instance, this way of managing client activities allows the client 205 to provide commands within requests, which are composed of abstract information that generally describes the intended interactions of the private cloud 210 with a cloud-based platform (eg clouds 240 and 250). These requests can be issued and executed without the client 205 tracking and/or analyzing low-level details of the day-to-day operations of the system. Thus, coordination mechanism 230 relieves client 205 of the work of understanding an implementation of each API that monitors ongoing transactions between private cloud 210, via resource management interface 222, and the naked computing platform he comes. In other words, the client 205 does not have to have direct knowledge of where new data must be approached and where old data is stored. Instead the client 205 is only responsible for generating non-cloud specific requests to use resources, where the requests include commands that are formed in an abstract way. In modalities, coordination engine 230 also helps customer 205 optimize the power of public clouds 250 whenever it meets its goals without disrupting normal private cloud 210 operations.
[0068] In addition to calling processes that allow the client 205 to provide commands in an abstract format, the coordination engine 230 optionally makes intelligent decisions in the background that apply the commands when making determinations affecting the client's account. These smart decisions are generally rule based and can be configurable based on manual and/or automatic modifications to the rules. For example, the rules might dictate that coordination mechanism 230 must iteratively use the different metrics when dynamically addressing an incoming client request to determine which of the public clouds 250 best fulfills the request.
[0069] An exemplary use of coordination mechanism 230 will now be discussed. Assuming customer 205 is a company that is in the business of selling recovery solutions, and assuming that the company's storage usage can be high and unpredictable, the company would likely benefit from leveraging the elasticity of a public cloud. Initially, this company would configure Coordination Mechanism 230 in an on-premises application for the private cloud 210. Or the company could obtain the services of another nude that was hosting Coordination Mechanism 230.
[0070] Once access to the coordination mechanism 230 is obtained, the company can configure the coordination mechanism 230 by establishing rules and criteria through the rules interface 221 and the criteria interface 223, respectively, of the abstraction layer 220. When establishing the criteria, the company can primarily opt for a lower price. Coordination mechanism 230 would learn the current prices for the public clouds 250 that are designated as candidate clouds (for example, clouds that the company has identified it would be willing to use). Additionally, the company can suggest the operating costs (ie, maintenance costs) for running the private cloud 210 in order to be considered as one of the candidate clouds.
[0071] At some later point the company may issue a request for a certain amount of storage GBs for newly generated data. Coordination mechanism 230, at the time of dispatching the request, will try to find the cheapest candi data cloud. Once the cheapest candidate cloud is discovered, it is designated as the target cloud and provisioned to meet the enterprise's data storage requirements as transported in the request. Additionally, in modalities, the coordination mechanism can return a symbol representing a storage account placed in the target cloud. The company can use the token to invoke the storage account, via abstraction layer 220, by issuing read/write commands to affect data within the storage account. The coordination mechanism uses the symbol to identify the target cloud and to translate read/write commands to native commands for the target cloud. In this way, the company's responsibilities for identifying the target cloud in the request and for translating the commands into embedded in the request are assumed by the coordination mechanism 230.
[0072] This distributed computing environment 200 is just one example of a suitable environment that can be implemented to execute aspects of the present invention, and is not intended to manage any limitation such as to the scope of use or functionality of the invention. Nor should the illustrated exemplary system architecture of distributed computing system 200 be interpreted as having any dependency or requirement relating to any one or combination of components 220, 230, 235, 260, 265, 270, 275 and 280 as illustrated. . In some embodiments, one or more of components 220, 230, 235, 260, 265, 270, 275, and 280 may be implemented as standalone devices. In other modalities, one or more of components 220, 230, 235, 260, 265, 270, 275 and 280 may be integrated directly into one or more of clouds 210, 240 or 250. It will be understood by persons of common knowledge in the art that components 220, 230, 235, 260, 265, 270, 275 and 280 illustrated in FIG. 2 are exemplary in nature and number and should not be construed as limiting.
[0073] In this way, any number of components can be employed to achieve the desired functionality within the scope of embodiments of the present invention. Although the various components of FIG. 2 are shown with lines for clarity, actually delineating various components is not that clear, and metaphorically the lines would more accurately be gray or fuzzy. Additionally, although some components of FIG. 2 are represented as unique blocks, the representations are exemplary in nature and number and are not to be interpreted as limiting (for example, although only one private cloud is shown, many others can be communicatively coupled to the(s) coordination mechanism(s) 230). Method to Facilitate Cloud Selection
[0074] Returning now to FIG. 5, a block diagram illustrating a distributed computing environment 500 being employed to promote selection of the public and/or private cloud(s) is shown in accordance with an embodiment of the present invention. As illustrated, computing environment 500 includes aspects of computing environment 200 of FIG. 2, where like reference numerals represent substantially similar components. Additionally, computing environment 500 will be discussed in the context of the flowchart of FIG. 7 in which the flowchart shows a complete method 700 for assigning workload to one or more candidate computer networks based on criteria provided by administrator 510 in accordance with an embodiment of the present invention. Although the terms "step" and "block" are used in this document below to connote elements other than the methods employed, the terms should not be interpreted as indicating any particular order between them or between various steps disclosed in this document unless and except when the order of individual steps is explicitly described.
[0075] Initially, the administrator 510 (employee of the IT department of the customer) may notice that the company's private cloud 210 generates a significant increase in the use of an application, thus creating a demand to host services that provide virtual machines. Administrator 510 may issue a request 530 for resources via abstraction layer 220 to coordination mechanism 230, as indicated in block 710. In one instance, request 530 may be for 100 terabytes of computing resources for one six-month project.
[0076] As indicated in block 720, the administrator 510 may additionally provide the rules 520 and the criteria 525 within the request via the rules interface 221 and the criteria interface 223, respectively. In an instance of providing the criteria 525, the administrator 510 can access an interaction application that cooperates with the abstraction layer 220 which renders a GUI in which the administrator can submit the request for computing capability with the accompanying criteria 525. Typically, the 525 criteria specify customer-preferred properties of an ideal public nude. By way of example, accompanying criteria 525 may indicate that low price is the most critical, while other criteria 525 such as desirable high security and high performance requirements, however, are optional.
[0077] Upon delivering request 530 to coordination mechanism 230, coordination mechanism 230 can perform an analysis of criteria 525 with respect to metrics in metrics database 280, as indicated in block 730. In one embodiment For example, the analyze process includes performing the following steps: accessing the metrics in the 280 metrics database (see block 740), and comparing criteria 525 with the metrics (see block 750). In modalities the coordination mechanism 230 can consider the metrics when applying rules 520 from the rules database 270 to the criteria metrics 525. Based on the comparison, in part, at least one public cloud of the candidate clouds is targeted , as indicated in block 760. In general, the targeted computer network displays metrics that satisfy criteria 525.
[0078] Sometime later, as indicated in block 770, an interaction is initiated with the target computer network. This interaction can provision a target cloud account that satisfies the request. When provisioning the account, coordination mechanism 230 can return a URL, API and/or token with credentials to administrator 510 that allow read and write (ie, authentication access) to the target cloud account without administrator 510 create a language conversion engine to connect through the interface with the account. As such, coordination mechanism 230 does not necessarily indicate the identity of the target cloud to administrator 510. In operation, the symbol represents a list of IP or MAC addresses of those virtual machines within the target cloud allocated to the private cloud. 210, as well as the credentials needed to access the virtual machines. Using the token the administrator is able to remotely register for the allocated virtual machines and continue configuring them by enabling role instances and/or installing additional features. Additionally, when the 510 administrator no longer has use for the virtual machines allocated in the target cloud, the token can be used to request a service cancellation and stop service charges.
[0079] It is evident from the variety of 525 exemplary criteria discussed earlier that no particular cloud configuration would not be ideal for every 510 administrator in every aspect. Not even a cloud configuration will display the features that each 510 administrator requests, where different cloud configurations excel in different areas. Thus, coordination mechanism 230 is typically programmed to track many public cloud parameters to make optimal decisions about which cloud resources to use. The following shows cases of example optimizations.
[0080] Coordination mechanism 230 can optimize an edge scenario. Assume that service providers operate a set of candidate clouds X, Y, and Z. If the service provider associated with candidate cloud X is determined to be best in class when it achieves edge caching and content delivery, then the administrator's request 510 would be forwarded to candidate cloud X rather than candidate clouds Y or Z. As used in this document, the phrase "edge caching" refers to keeping content in the vicinity of a core group of users (eg customers in Japan want copies of media from near Tokyo, as opposed to Los Angeles, so that they can be played back faster).
[0081] Coordination mechanism 230 can optimize a pricing scenario. Assume that service provider for candidate cloud X charges $1/GB while service providers associated with candidate clouds Y and Z charge $0.50/GB with the same reliability. Within the pricing scenario, coordination mechanism 230 may forward requests for storage to candidate clouds Y or Z instead of to candidate cloud X. However, pricing agent 260 of FIG. 2 can operate as an automated service to keep the coordination mechanism 230 up to date considering the various X, Y, and Z candidate cloud pricing schemes.
[0082] Additionally, the pricing scenario can schedule behavior for rules 520 in such a way that parts of private cloud 210 may not be used when it is lower cost to use candidate clouds Y and Z (for example, the public clouds 250 of Fig. 2). Thus, public cloud(s) can be leveraged to allocate space in the private cloud 210 in order to react to a sudden increase in confidential information that is designated to be stored internally. Thus, private cloud 210 is considered to be a candidate by coordination mechanism 230 just as much as any other cloud being monitored.
[0083] Coordination mechanism 230 can optimize a recovery scenario. Assume the 510 administrator indicates within the 520 rules that the organization sets a premium to securely retrieve sensitive data. Additionally, rules 520 specify that data is to be stored redundantly in two or more of the candidate clouds X, Y, and Z to provide maximum assurance against data loss. In this recovery scenario, coordination mechanism decision 230 can be optimized for redundancy in a plurality of clouds.
[0084] Coordination mechanism 230 can optimize a reliability scenario. In the reliability scenario, coordination engine 230 can find the reliability history of the various choices it has made, such as choosing candidate cloud X over candidate cloud Y. Coordination engine 230 can then analyze reliability history for detect any changes in metrics extracted from candidate clouds X and Y, such as performance, reliability, and more. Using analytics, Coordination Engine 230 can adjust its future decisions to best optimize reliability based on the actual reliability and performance of candidate clouds X and Y when handling administrator data.
[0085] Coordination mechanism 230 can optimize a dealer scenario. In the case where the administrator 510 is guided by a business model where the company's sales result, in part, from hosting external customers in the private cloud 210 in combination with other public clouds. Generally speaking, an external customer of the company is not involved with the details of where their data is hosted as long as the 525 criteria is met with a certain level of security and reliability. Thus, in the reseller scenario, the firm can employ coordination mechanism 230 to act as a broker and pull out other public clouds while assessing competition and monitoring volume to generate significant revenue. Typically a company of this type would license this Coordination Mechanism 230 software to help run its business. Method to Facilitate Interaction Between Clouds
[0086] Referring to FIG. 6, a block diagram is shown that illustrates a distributed computing environment 600 being employed to facilitate interaction between the public and/or private cloud(s) according to a modality of the present invention. As illustrated, computing environment 600 includes aspects of computing environment 200 of FIG. 2, where like reference numerals represent substantially similar components. In addition, computing environment 600 will be discussed in the context of the flowchart of FIG. 8, in which the flowchart shows a complete method 800 for distributing workload to one or more public computing networks external to a private enterprise network in accordance with an embodiment of the present invention.
[0087] Initially, method 800 includes the steps of receiving a request 620 issued by a user 610 of the private company network, or private cloud 210, to update account information hosted on the network(s) of public computation(s) (see block 810) and identify a target network of the public computation network(s) 250 that is(are) responsible for hosting the account information (see block 820). In instances, as indicated in block 830, one or more commands may be extracted from request 620. By way of example, the command(s) represent(s) in part instructions for implementing the update. As indicated in block 840, commands can be translated into a format consistent with a rules language observed by the target network when interacting with an external source. Additionally, translated commands 630 may be distributed to computing resources, associated with the target network, which are designated to implement the update to the account information, as indicated in block 850.
[0088] Embodiments of the present invention have been described with respect to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which embodiments of the present invention belong without departing from its scope.
[0089] From the foregoing, it will be seen that this invention is a good adapted to achieve all the purposes and objectives set out above, along with other advantages, which are obvious and inherent to the system and method. It will be understood that certain features and subcombinations are of use and may be employed without reference to other features and subcombinations. This is considered and is within the scope of the claims.
权利要求:
Claims (12)
[0001]
1. Computer readable media with computer executable instructions embedded therein which, when executed at least in part on a computer system of a private cloud computing network (210), performs a method for assigning workload to one or plus candidate computer networks based on criteria provided by a customer (205), the method characterized by the fact that it comprises the steps of: receiving a request for computing resources from the customer (205); receive the criteria associated with the request, where the criteria specify preferred customer properties of one or more candidate computer networks; wherein an abstraction layer (220) resides in the private cloud computing network (210), wherein the abstraction layer (220) includes various interfaces that are provided to serve as an intermediary through which the client (205) can interacting with a coordination mechanism (230) residing on a cloud computing network in question (240); employ the coordination mechanism (230) to perform a criteria analysis against the metrics, where the analysis processes comprise: (a) accessing the metrics in a metrics database (280), where the metrics are pulled from one or more candidate computer networks; wherein one or more agents (260, 265, 275) programmed to dynamically collect properties by tracking one or more candidate computer networks report the collected properties to the metrics database (280); and (b) compare the criteria with the metrics, respectively; based on the comparison, in part, targeting at least one computer network, from one or more candidate computer networks, that display metrics that meet the criteria; and initiate interaction with at least one target computer network.
[0002]
2. Computer-readable media according to claim 1, characterized in that the request comprises instructions to run an application on virtual machines available on one or more candidate computer networks and in which the application is associated with the account of the customer.
[0003]
3. Computer-readable media, according to claim 1, characterized in that the request comprises instructions to keep data in a storage location available on one or more candidate computer networks and in which the data is associated with the customer account.
[0004]
4. Computer-readable media, according to claim 1, characterized by the fact that the criteria define particular attributes of one or more candidate computer networks that belong to at least one of security, availability, cost, scalability or geographic redundancy .
[0005]
5. Computer-readable media according to claim 1, characterized by the fact that one or more candidate computer networks comprise a private corporate network and at least one public cloud computing network.
[0006]
6. Computer-readable media, according to claim 5, characterized by the fact that the method further comprises employing the coordination mechanism (230) to manage the use of the customer's account through the private corporate network and the at least one target computer network.
[0007]
7. Computer-readable media according to claim 6, characterized in that the use of the coordination mechanism (230) to manage the use of the customer's account across the entire private corporate network and at least one network of target computers comprises supervising an application running on virtual machines provisioned in at least one target network.
[0008]
8. Computer-readable media according to claim 6, characterized in that the use of the coordination mechanism (230) to manage the use of the customer's account through the private corporate network and at least one computer network Targeting comprises tracking data held in a provisioned storage location on at least one target network.
[0009]
9. Computer readable media according to claim 6, characterized in that the method further comprises employing the coordination mechanism (230) to provision computer resources in the at least one targeted computer network, the in order to fulfill the request.
[0010]
10. Computer-readable media, according to claim 6, characterized by the fact that the use of the coordination mechanism (230) to manage the use of the customer's account through the private corporate network and at least one computer network Targeted res comprises the use of load balancing between at least one target computer network and another public cloud computing network.
[0011]
11. Computer-readable media, according to claim 1, characterized by the fact that the analysis process further comprises: accessing rules from a rules database (270); and apply the rules to affect a result of comparing criteria with metrics.
[0012]
12. Method for distributing workload to one or more candidate computer networks based on criteria provided by a customer (205), the method being performed at least in part on a computer system of a private naked computing network (210) and characterized in that it comprises the steps of: receiving a request for computing resources from the customer (205); receive the criteria associated with the request, where the criteria specify preferred customer properties of one or more candidate computer networks; wherein an abstraction layer (220) resides in the private cloud computing network (210), wherein the abstraction layer (220) includes various interfaces that are generally provided to serve as an intermediary through which the client (205) can interact with a coordinating mechanism (230) that resides on a cloud computing network in question (240); employ the coordination mechanism (230) to perform a criteria analysis against the metrics, where the analysis processes comprise: (a) accessing the metrics in a metrics database (280), where the metrics are pulled from one or more candidate computer networks; wherein one or more agents (260, 265, 275) programmed to dynamically collect properties by tracking one or more candidate computer networks report the collected properties to the metrics database (280); and (b) compare the criteria with the metrics, respectively; based on the comparison, in part, targeting at least one computer network, from one or more candidate computer networks, that display metrics that meet the criteria; and initiate interaction with at least one target computer network.
类似技术:
公开号 | 公开日 | 专利标题
BR112014005618B1|2021-08-10|COMPUTER-READABLE MEDIA AND METHOD FOR DISTRIBUTING WORKLOAD
US11153204B2|2021-10-19|Locating service endpoints from a service registry
US9712535B1|2017-07-18|Security recommendation engine
US9565129B2|2017-02-07|Resource provisioning planning for enterprise migration and automated application discovery
CN103729250B|2017-04-12|Method and system to select data nodes configured to satisfy a set of requirements
US20110022642A1|2011-01-27|Policy driven cloud storage management and cloud storage policy router
CN101449241A|2009-06-03|Method and apparatus for policy-based change management in a service delivery environment
CN105989523B|2020-04-14|Policy-based data collection processing and negotiation method and system for analytics
US11108655B2|2021-08-31|Automated application deployment in a managed services domain
US9225662B2|2015-12-29|Command management in a networked computing environment
US10783128B2|2020-09-22|Rule based data processing
US10243819B1|2019-03-26|Template generation based on analysis
US10635787B2|2020-04-28|Analysis of output files
US20160203014A1|2016-07-14|Managing virtual machines using globally unique persistent virtual machine identifiers
US20190180034A1|2019-06-13|Compliant software component infrastructure deployment
Salam et al.2015|Deploying and Managing a Cloud Infrastructure: Real-World Skills for the CompTIA Cloud+ Certification and Beyond: Exam CV0-001
US10296750B1|2019-05-21|Robust data tagging
Ahmed et al.2021|Big Data Analytics and Cloud Computing: A Beginner's Guide
US20200234816A1|2020-07-23|Blockchain Framework for Enforcing Regulatory Compliance in Healthcare Cloud Solutions
US10891569B1|2021-01-12|Dynamic task discovery for workflow tasks
US10599544B2|2020-03-24|Determining reboot times of computing nodes
US20190005066A1|2019-01-03|Multi-tenant data service in distributed file systems for big data analysis
US20200019971A1|2020-01-16|Sharing information about enterprise computers
Roberts2018|Public cloud service definition
Sadtler et al.2011|Virtualization With IBM Workload Deployer: Designing and Deploying Virtual Systems
同族专利:
公开号 | 公开日
MX2014002961A|2014-07-09|
BR112014005618A2|2017-03-28|
KR20140068963A|2014-06-09|
AU2012308929B2|2017-03-30|
CN102915331B|2016-12-21|
MX348475B|2017-06-14|
KR102009055B1|2019-08-08|
US20130067090A1|2013-03-14|
EP2756412B1|2018-12-05|
CN102915331A|2013-02-06|
US9781205B2|2017-10-03|
WO2013039793A2|2013-03-21|
JP2014530415A|2014-11-17|
RU2014109370A|2015-09-20|
AU2012308929A1|2014-03-27|
CA2847872A1|2013-03-21|
JP6074430B2|2017-02-01|
EP2756412A4|2015-09-23|
EP2756412A2|2014-07-23|
RU2628902C2|2017-08-22|
WO2013039793A3|2013-05-10|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

IL139408D0|1998-05-07|2001-11-25|Samsung Electronics Co Ltd|Method and apparatus for user and device command and control in a network|
US7020697B1|1999-10-01|2006-03-28|Accenture Llp|Architectures for netcentric computing systems|
RU2179738C2|2000-04-24|2002-02-20|Вильчевский Никита Олегович|Method for detecting remote attacks in computer network|
US6990666B2|2002-03-18|2006-01-24|Surgient Inc.|Near on-line server|
US7533184B2|2003-06-13|2009-05-12|Microsoft Corporation|Peer-to-peer name resolution wire protocol and message format data structure for use therein|
US8429630B2|2005-09-15|2013-04-23|Ca, Inc.|Globally distributed utility computing cloud|
US20080256095A1|2007-04-10|2008-10-16|Apertio Limited|Adaptation in network data repositories|
US20090199175A1|2008-01-31|2009-08-06|Microsoft Corporation|Dynamic Allocation of Virtual Application Server|
US9069599B2|2008-06-19|2015-06-30|Servicemesh, Inc.|System and method for a cloud computing abstraction layer with security zone facilities|
US8019873B2|2008-09-30|2011-09-13|Microsoft Corporation|Mesh platform utility computing portal|
US9037692B2|2008-11-26|2015-05-19|Red Hat, Inc.|Multiple cloud marketplace aggregation|
JP2011018167A|2009-07-08|2011-01-27|Fujitsu Ltd|Load balancing program, load balancing device, and load balancing method|
US8234377B2|2009-07-22|2012-07-31|Amazon Technologies, Inc.|Dynamically migrating computer networks|
US8842815B2|2009-07-29|2014-09-23|Comcast Cable Communications, Llc|Identity management and service access for local user group based on network-resident user profiles|
US20110047253A1|2009-08-19|2011-02-24|Samsung Electronics Co. Ltd.|Techniques for controlling gateway functionality to support device management in a communication system|
US9094292B2|2009-08-31|2015-07-28|Accenture Global Services Limited|Method and system for providing access to computing resources|
US8532108B2|2009-09-30|2013-09-10|Alcatel Lucent|Layer 2 seamless site extension of enterprises in cloud computing|
US20110078303A1|2009-09-30|2011-03-31|Alcatel-Lucent Usa Inc.|Dynamic load balancing and scaling of allocated cloud resources in an enterprise network|
US20110126197A1|2009-11-25|2011-05-26|Novell, Inc.|System and method for controlling cloud and virtualized data centers in an intelligent workload management system|
US9129052B2|2009-12-03|2015-09-08|International Business Machines Corporation|Metering resource usage in a cloud computing environment|
US8037187B2|2009-12-11|2011-10-11|International Business Machines Corporation|Resource exchange management within a cloud computing environment|
US20110145393A1|2009-12-13|2011-06-16|Tami Ben-Zvi|Method for dynamic reservation of cloud and on premises computing resources for software execution|
US8924569B2|2009-12-17|2014-12-30|Intel Corporation|Cloud federation as a service|
US8458780B1|2009-12-21|2013-06-04|Emc Corporation|Pluggable login architecture and dynamic resource recognition|
US8452932B2|2010-01-06|2013-05-28|Storsimple, Inc.|System and method for efficiently creating off-site data volume back-ups|
WO2011091056A1|2010-01-19|2011-07-28|Servicemesh, Inc.|System and method for a cloud computing abstraction layer|
US8527549B2|2010-02-22|2013-09-03|Sookasa Inc.|Cloud based operating and virtual file system|
US8255529B2|2010-02-26|2012-08-28|Red Hat, Inc.|Methods and systems for providing deployment architectures in cloud computing environments|
US20110213971A1|2010-03-01|2011-09-01|Nokia Corporation|Method and apparatus for providing rights management at file system level|
US8578205B2|2010-03-15|2013-11-05|Cleversafe, Inc.|Requesting cloud data storage|
US8504400B2|2010-03-24|2013-08-06|International Business Machines Corporation|Dynamically optimized distributed cloud computing-based business process management system|
US20110251937A1|2010-04-09|2011-10-13|International Business Machines Corporation|Software license brokering within a cloud computing environment|
US8719804B2|2010-05-05|2014-05-06|Microsoft Corporation|Managing runtime execution of applications on cloud computing systems|
US8910278B2|2010-05-18|2014-12-09|Cloudnexa|Managing services in a cloud computing environment|
US8516376B2|2010-05-27|2013-08-20|International Business Machines Corporation|Identification system for network data processing systems|
US8606897B2|2010-05-28|2013-12-10|Red Hat, Inc.|Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network|
WO2011153386A1|2010-06-02|2011-12-08|Mccrory Dave D|Cloud resource proxy with attribute mirroring|
US8352611B2|2010-06-29|2013-01-08|International Business Machines Corporation|Allocating computer resources in a cloud environment|
CA2804864C|2010-07-09|2018-11-20|State Street Corporation|Systems and methods for private cloud computing|
US8307014B2|2010-08-25|2012-11-06|International Business Machines Corporation|Database rebalancing in hybrid storage environment|
US20120123898A1|2010-11-17|2012-05-17|International Business Machines Corporation|Generating configuration options for a computing system|
US9442771B2|2010-11-24|2016-09-13|Red Hat, Inc.|Generating configurable subscription parameters|
US8832271B2|2010-12-03|2014-09-09|International Business Machines Corporation|Identity provider instance discovery|
US9396040B2|2010-12-27|2016-07-19|Nokia Technologies Oy|Method and apparatus for providing multi-level distributed computations|
WO2012092553A1|2010-12-31|2012-07-05|Desktone, Inc.|Providing virtual desktops using resources accessed on public computer networks|
CN102611721B|2011-01-24|2015-06-17|鸿富锦精密工业(深圳)有限公司|Access gateway and method thereof for providing cloud storage service|
US20120204187A1|2011-02-08|2012-08-09|International Business Machines Corporation|Hybrid Cloud Workload Management|
US8862933B2|2011-02-09|2014-10-14|Cliqr Technologies, Inc.|Apparatus, systems and methods for deployment and management of distributed computing systems and applications|
US9104672B2|2011-02-25|2015-08-11|International Business Machines Corporation|Virtual security zones for data processing environments|
US10375203B2|2011-02-28|2019-08-06|Red Hat, Inc.|Generating a selection of cloud data distribution service from alternative providers for staging data to host clouds|
US9141410B2|2011-03-08|2015-09-22|Rackspace Us, Inc.|Pluggable allocation in a cloud computing system|
US8261295B1|2011-03-16|2012-09-04|Google Inc.|High-level language for specifying configurations of cloud-based deployments|
US8880671B2|2011-11-14|2014-11-04|International Business Machines Corporation|Releasing computing infrastructure components in a networked computing environment|US9357017B2|2012-01-25|2016-05-31|Qualcomm Incorporated|Method and apparatus for automatic service discovery and connectivity|
US9294552B2|2012-01-27|2016-03-22|MicroTechnologies LLC|Cloud computing appliance that accesses a private cloud and a public cloud and an associated method of use|
US9213580B2|2012-01-27|2015-12-15|MicroTechnologies LLC|Transportable private cloud computing platform and associated method of use|
US9720809B2|2012-02-17|2017-08-01|Microsoft Technology Licensing, Llc|Dynamically enabling debugging over the internet|
US9213581B2|2012-03-14|2015-12-15|Sap Se|Method and system for a cloud frame architecture|
US9491035B1|2012-06-29|2016-11-08|EMC IP Holding Company LLC|Cloud services directory protocol|
WO2014007811A1|2012-07-03|2014-01-09|Hewlett-Packard Development Company, L.P.|Managing a hybrid cloud service|
WO2014021849A1|2012-07-31|2014-02-06|Hewlett-Packard Development Company, L.P.|Orchestrating hybrid cloud services|
WO2014084819A1|2012-11-28|2014-06-05|Hewlett-Packard Development Company, L.P.|Determining at least one cost factor associated with using the cloud to provide an application component|
US9325791B1|2013-03-12|2016-04-26|Western Digital Technologies, Inc.|Cloud storage brokering service|
CN104052775B|2013-03-14|2016-11-23|腾讯科技(深圳)有限公司|Right management method, device and the system of a kind of cloud platform service|
US20140324647A1|2013-03-15|2014-10-30|Gravitant, Inc.|Cloud services expenditure analytics|
US9818127B2|2013-03-15|2017-11-14|International Business Machines Corporation|Implementing comparison of cloud service provider package offerings|
US9832205B2|2013-03-15|2017-11-28|International Business Machines Corporation|Cross provider security management functionality within a cloud service brokerage platform|
US9813318B2|2013-03-15|2017-11-07|International Business Machines Corporation|Assessment of best fit cloud deployment infrastructures|
US20140278807A1|2013-03-15|2014-09-18|Cloudamize, Inc.|Cloud service optimization for cost, performance and configuration|
US9716634B2|2013-03-15|2017-07-25|International Business Machines Corporation|Fulfillment of cloud service orders|
US20150222723A1|2013-03-15|2015-08-06|Gravitant, Inc|Budget management functionality within a cloud service brokerage platform|
US20150206207A1|2013-03-15|2015-07-23|Gravitant, Inc|Pricing rules management functionality within a cloud service brokerage platform|
US20150156065A1|2013-03-15|2015-06-04|Gravitant, Inc.|Policy management functionality within a cloud service brokerage platform|
US9824390B2|2013-03-15|2017-11-21|International Business Machines Corporation|Cloud service brokerage service store|
US9454294B2|2013-03-15|2016-09-27|International Business Machines Corporation|Creating, provisioning and managing virtual data centers|
US20140365662A1|2013-03-15|2014-12-11|Gravitant, Inc.|Configuring cloud resources|
CN105359095B|2013-05-08|2019-09-20|康维达无线有限责任公司|Method and apparatus for using the resource virtualizing of virtualization agent and contextual information|
JP6222225B2|2013-05-09|2017-11-01|日本電気株式会社|Virtual machine placement determination apparatus, virtual machine placement determination method, and virtual machine placement determination program|
US9384115B2|2013-05-21|2016-07-05|Amazon Technologies, Inc.|Determining and monitoring performance capabilities of a computer resource service|
US10693805B2|2013-08-27|2020-06-23|Red Hat, Inc.|Tracking costs for a deployable instance|
US20150066560A1|2013-08-27|2015-03-05|Connectloud, Inc.|Method and apparatus for managing multi-vendor infrastructure for software defined clouds through abstracted control planes|
CN105518651B|2013-09-04|2018-10-16|慧与发展有限责任合伙企业|Resource selection method, system and the storage medium based on strategy for cloud service|
WO2015068897A1|2013-11-07|2015-05-14|경희대학교 산학협력단|Method for relaying cloud server|
CN103747071A|2013-12-31|2014-04-23|合肥有线电视宽带网络有限公司|Private cloud voice data processing balancing system and method for broadcast television network|
US20170061339A1|2014-01-02|2017-03-02|Jeremy Lynn Littlejohn|Method for facilitating network external computing assistance|
KR101557747B1|2014-02-05|2015-10-19|순천향대학교 산학협력단|System and method for allocating virtual machine for effective use of multi resource in cloud|
JP2015166963A|2014-03-04|2015-09-24|富士通株式会社|Information providing means, device and program|
CN103854208B|2014-03-11|2016-11-23|湖州师范学院|A kind of implementation method of cloud market multi-kind resource distribution pricing mechanism|
US9886012B2|2014-03-26|2018-02-06|Rockwell Automation Technologies, Inc.|Component factory for human-machine interface migration to a cloud platform|
US9971317B2|2014-03-26|2018-05-15|Rockwell Automation Technologies, Inc.|Cloud-level industrial controller loop gain tuning based on industrial application type|
US10095202B2|2014-03-26|2018-10-09|Rockwell Automation Technologies, Inc.|Multiple controllers configuration management interface for system connectivity|
US9838476B2|2014-03-26|2017-12-05|Rockwell Automation Technologies, Inc.|On-premise data collection and ingestion using industrial cloud agents|
US9614963B2|2014-03-26|2017-04-04|Rockwell Automation Technologies, Inc.|Cloud-based global alarm annunciation system for industrial systems|
US9866635B2|2014-03-26|2018-01-09|Rockwell Automation Technologies, Inc.|Unified data ingestion adapter for migration of industrial data to a cloud platform|
US9843617B2|2014-03-26|2017-12-12|Rockwell Automation Technologies, Inc.|Cloud manifest configuration management system|
US9825949B2|2014-03-26|2017-11-21|Rockwell Automation Technologies, Inc.|Device authentication to facilitate secure cloud management of industrial data|
US10208947B2|2014-03-26|2019-02-19|Rockwell Automation Technologies, Inc.|Cloud-level analytics for boiler networks|
US10084669B2|2014-04-09|2018-09-25|Centurylink Intellectual Property Llc|System and method for cloud computing adaptive cloud services|
US10621505B2|2014-04-17|2020-04-14|Hypergrid, Inc.|Cloud computing scoring systems and methods|
US20150332351A1|2014-05-16|2015-11-19|Centurylink Intellectual Property Llc|System and Method for Service Provider Cloud Services - Cloud Marketplace|
US20150332357A1|2014-05-16|2015-11-19|Centurylink Intellectual Property Llc|System and Method for Service Provider Cloud Services|
CN104008028B|2014-05-22|2017-03-15|北京大学|Intelligent mobile terminal data backup memory method and system based on many cloud storages|
US10430219B2|2014-06-06|2019-10-01|Yokogawa Electric Corporation|Configuring virtual machines in a cloud computing platform|
US9948514B2|2014-06-30|2018-04-17|Microsoft Technology Licensing, Llc|Opportunistically connecting private computational resources to external services|
KR101590716B1|2014-07-01|2016-02-01|울산대학교 산학협력단|Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware|
US20160373319A1|2014-09-24|2016-12-22|Jeremy Lynn Littlejohn|Method and device for evaluating the system assets of a communication network|
US9871745B2|2014-11-12|2018-01-16|International Business Machines Corporation|Automatic scaling of at least one user application to external clouds|
KR102288478B1|2014-12-17|2021-08-10|한국전자통신연구원|Method And Apparatus For Provisioning Service Acceleration System In Distributed Cloud Infrastructure|
US10057347B2|2015-02-13|2018-08-21|International Business Machines Corporation|Protocol independent storage discovery and enablement|
US10592826B2|2015-02-26|2020-03-17|Stubhub, Inc.|Determining interest areas at a venue location of an event|
US9992277B2|2015-03-31|2018-06-05|At&T Intellectual Property I, L.P.|Ephemeral feedback instances|
US9524200B2|2015-03-31|2016-12-20|At&T Intellectual Property I, L.P.|Consultation among feedback instances|
US10129156B2|2015-03-31|2018-11-13|At&T Intellectual Property I, L.P.|Dynamic creation and management of ephemeral coordinated feedback instances|
US10129157B2|2015-03-31|2018-11-13|At&T Intellectual Property I, L.P.|Multiple feedback instance inter-coordination to determine optimal actions|
US10277666B2|2015-03-31|2019-04-30|At&T Intellectual Property I, L.P.|Escalation of feedback instances|
US9769206B2|2015-03-31|2017-09-19|At&T Intellectual Property I, L.P.|Modes of policy participation for feedback instances|
KR101702218B1|2015-05-26|2017-02-06|인하대학교 산학협력단|Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server|
US10754519B2|2015-06-30|2020-08-25|Microsoft Technology Licensing, Llc|Graphical user interface facilitating uploading of electronic documents to shared storage|
US10154078B2|2015-06-30|2018-12-11|Microsoft Technology Licensing, Llc|Graphical user interface facilitating uploading of electronic documents to shared storage|
US9787641B2|2015-06-30|2017-10-10|Nicira, Inc.|Firewall rule management|
US10439888B2|2015-07-10|2019-10-08|Equinix, Inc.|Interconnect engine for interconnection facilities|
US9667657B2|2015-08-04|2017-05-30|AO Kaspersky Lab|System and method of utilizing a dedicated computer security service|
TWI582607B|2015-11-02|2017-05-11|廣達電腦股份有限公司|Dynamic resources planning mechanism based on cloud computing and smart device|
US20170171020A1|2015-12-14|2017-06-15|Microsoft Technology Licensing, Llc|Using declarative configuration data to manage cloud lifecycle|
US9961012B2|2015-12-21|2018-05-01|Microsoft Technology Licensing, Llc|Per-stage assignment of pipelines agents|
US10536349B1|2015-12-31|2020-01-14|VCE IP Holding Company LLC|Configuration system and method for an integrated computing system|
US10412192B2|2016-05-10|2019-09-10|International Business Machines Corporation|Jointly managing a cloud and non-cloud environment|
US10116629B2|2016-05-16|2018-10-30|Carbonite, Inc.|Systems and methods for obfuscation of data via an aggregation of cloud storage services|
US10356158B2|2016-05-16|2019-07-16|Carbonite, Inc.|Systems and methods for aggregation of cloud storage|
US11100107B2|2016-05-16|2021-08-24|Carbonite, Inc.|Systems and methods for secure file management via an aggregation of cloud storage services|
US10153941B2|2016-05-17|2018-12-11|Microsoft Technology Licensing, Llc|Distributed operational control in computing systems|
US10387167B2|2016-05-26|2019-08-20|CloudBolt Software Inc.|Action-based computing resource configuration|
US10768920B2|2016-06-15|2020-09-08|Microsoft Technology Licensing, Llc|Update coordination in a multi-tenant cloud computing environment|
US10193762B2|2016-08-11|2019-01-29|Rescale, Inc.|Dynamic optimization of simulation resources|
US10764255B2|2016-09-21|2020-09-01|Rockwell Automation Technologies, Inc.|Secure command execution from a cloud monitoring system to a remote cloud agent|
US10419321B2|2016-10-31|2019-09-17|Nicira, Inc.|Managing resource consumption for distributed services|
US10567440B2|2016-12-16|2020-02-18|Nicira, Inc.|Providing application visibility for micro-segmentation of a network deployment|
US11258681B2|2016-12-16|2022-02-22|Nicira, Inc.|Application assessment and visibility for micro-segmentation of a network deployment|
US10243731B2|2017-01-27|2019-03-26|Accenture Global Solutions Limited|Hardware blockchain acceleration|
US10482063B2|2017-08-14|2019-11-19|Rockwell Automation Technologies, Inc.|Modular control manifest generator for cloud automation|
WO2019045583A1|2017-08-30|2019-03-07|Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей"|Method of virtualizing data storage systems for data processing and cloud computing centres|
US10416660B2|2017-08-31|2019-09-17|Rockwell Automation Technologies, Inc.|Discrete manufacturing hybrid cloud solution architecture|
CN109547514A|2017-09-22|2019-03-29|北京金山云网络技术有限公司|A kind of task processing method, device, electronic equipment and storage medium|
US10423449B2|2017-11-20|2019-09-24|International Business Machines Corporation|Allocating tasks in a computing environment|
CN108011961A|2017-12-07|2018-05-08|携程旅游信息技术(上海)有限公司|Voice interactive system based on mixing cloud service|
US10742673B2|2017-12-08|2020-08-11|Nicira, Inc.|Tracking the dynamics of application-centric clusters in a virtualized datacenter|
US11256548B2|2018-05-03|2022-02-22|LGS Innovations LLC|Systems and methods for cloud computing data processing|
SG11202011209XA|2018-05-11|2020-12-30|Jpmorgan Chase Bank Na|Function as a service gateway|
US10963294B2|2018-07-02|2021-03-30|International Business Machines Corporation|Cognitive cloud migration optimizer|
US11171913B2|2018-09-28|2021-11-09|Nutanix, Inc.|Systems and methods for implementing address translation services|
US10778772B2|2019-01-23|2020-09-15|Hewlett Packard Enterprise Development Lp|Cloud platform or cloud provider selection|
CN110012076A|2019-03-12|2019-07-12|新华三技术有限公司|A kind of connection method for building up and device|
CN113273161A|2019-03-26|2021-08-17|Oppo广东移动通信有限公司|Communication method of equipment, equipment and storage medium|
US11176157B2|2019-07-23|2021-11-16|Vmware, Inc.|Using keys to aggregate flows at appliance|
US11140090B2|2019-07-23|2021-10-05|Vmware, Inc.|Analyzing flow group attributes using configuration tags|
US11188570B2|2019-07-23|2021-11-30|Vmware, Inc.|Using keys to aggregate flow attributes at host|
US10911335B1|2019-07-23|2021-02-02|Vmware, Inc.|Anomaly detection on groups of flows|
CN110719325A|2019-09-30|2020-01-21|恩亿科数据科技有限公司|Method and device for responding to user request|
US11070982B1|2020-04-15|2021-07-20|T-Mobile Usa, Inc.|Self-cleaning function for a network access node of a network|
US11115824B1|2020-05-14|2021-09-07|T-Mobile Usa, Inc.|5G cybersecurity protection system|
US11057774B1|2020-05-14|2021-07-06|T-Mobile Usa, Inc.|Intelligent GNODEB cybersecurity protection system|
US11206542B2|2020-05-14|2021-12-21|T-Mobile Usa, Inc.|5G cybersecurity protection system using personalized signatures|
法律状态:
2017-07-25| B25A| Requested transfer of rights approved|Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
2018-12-11| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2019-11-05| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2021-06-01| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-08-10| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/09/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
US13/230,487|2011-09-12|
US13/230,487|US9781205B2|2011-09-12|2011-09-12|Coordination engine for cloud selection|
PCT/US2012/054344|WO2013039793A2|2011-09-12|2012-09-10|Coordination engine for cloud selection|
[返回顶部]